package com.audaque.encoding.mapper;

import com.audaque.encoding.common.Page;
import com.audaque.encoding.model.EncodingHistory;
import com.audaque.encoding.model.EncodingLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>编码历史</p>
 *
 * @author 谭黄
 * @since 2024/3/15
 */
public interface EncodingHistoryMapper {
    int insert(EncodingHistory eh);

    /**
     * 批量插入数据
     * @param tableName 表名
     * @param colums 字段
     * @param datas 数据
     * @return
     */
    int batchInsertDynamic(@Param("tableName") String tableName,@Param("colums") List<String> colums,@Param("datas") List<List<String>> datas);

    /**
     * 删除已存在的表
     * @param tableName
     */
    void dropTableIfExists(@Param("tableName") String tableName );

    /**
     * 建表
     * @param sql
     */
    void createTable(@Param("sql") String sql );

    /**
     * 分页总调试
     * @return
     */
    Long pageCount();

    /**
     * 分页查询
     * @param offset
     * @param limit
     * @return
     */
    List<EncodingHistory> page(@Param("offset") long offset, @Param("limit") long limit);

    /**
     * 新增日志
     * @param log
     * @return
     */
    int insertEncodingLog(EncodingLog log);

    /**
     * 查询处理日志
     * @param fileId
     * @return
     */
    List<EncodingLog> selectEncodingLog(@Param("fileId")String fileId);
}
